package controller

type ResCode int64

const (
	CodeSuccess         ResCode = 1000 + iota //success
	CodeInvalidParam                          //请求参数错误
	CodeUserExist                             //用户名已存在
	CodeUserNotExist                          //用户名不存在
	CodeInvalidPassword                       // 用户名或密码错误
	CodeServerBusy                            // 服务繁忙
	CodeEmailNotExist                         //用户名或邮箱错误
	CodeCodeNotExist                          // 验证码错误或已过期

	CodeNeedLogin    //需要登录
	CodeInvalidToken //无效的token
	CodeLevelError   //权限不足
)

var codeMsgMap = map[ResCode]string{
	CodeSuccess:         "success",
	CodeInvalidParam:    "请求参数错误",
	CodeUserExist:       "用户名已存在",
	CodeUserNotExist:    "用户名不存在",
	CodeInvalidPassword: "用户名或密码错误",
	CodeServerBusy:      "服务繁忙",
	CodeEmailNotExist:   "用户名或邮箱错误", //用户名或邮箱错误
	CodeCodeNotExist:    "验证码错误或已过期",

	CodeNeedLogin:    "需要登录",
	CodeInvalidToken: "无效的token",
	CodeLevelError:   "权限不足",
}

// Msg 方法
func (c ResCode) Msg() string {
	//返回key为c的值
	msg, ok := codeMsgMap[c]
	if !ok {
		//如果key不存在 返回服务繁忙
		msg = codeMsgMap[CodeServerBusy]
	}
	//读取成功返回msg内容
	return msg
}
